/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.treinamento.collections.set.HashSet;

import com.treinamento.Auditoria;

/**
 *
 * @author felipe
 */
public class Item extends Auditoria {

    private int codigo;
    private String descricao;
    private double valor;

    public int getCodigo() {
        return codigo;
    }

    public void setCodigo(int codigo) {
        this.codigo = codigo;
    }

    public String getDescricao() {
        return descricao;
    }

    public void setDescricao(String descricao) {
        this.descricao = descricao;
    }

    public double getValor() {
        return valor;
    }

    public void setValor(double valor) {
        this.valor = valor;
    }

    
    /* Verifica se o objeco passado é realmente uma 
       instancia de Item, se for verifica se o codigo 
       do produto e o mesmo.
    */
    @Override
    public boolean equals(Object object) {

        if (object instanceof Item) {
            Item item = (Item) object;
            if (item.getCodigo() == codigo) {
                return true;
            }
        }
        return false;
    }
    
    
    /* Utiliza como chave hash o próprio codigo do produto */
    @Override
    public int hashCode(){
        return codigo;
    }
}
